package org.gap.jseed;

/**
 * Responsible for building a class into a runtime instance.
 */
public interface Builder<E>{
	/**
	 * The type of the instance to be created
	 * @return the type
	 */
	public Class<? extends E> getType();
	
	/**
	 * Creates an instance of the getType.
	 * @return an instance of the getType
	 */
	public E createInstance();
}
